<?php

defined('JPATH_BASE') or die;

jimport('joomla.html.html');
jimport('joomla.filesystem.folder');
jimport('joomla.filesystem.file');
jimport('joomla.form.formfield');
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');

class JFormFieldGkfont extends JFormField
{
	public $type = 'Gkfont';

	protected function getInput() {
		$options_type = array(
								JHTML::_('select.option', 'standard', 'Standard'),
								JHTML::_('select.option', 'google', 'Google Fonts'),
								JHTML::_('select.option', 'squirrel', 'Squirrel')
							);
							
		$options_normal = array(
								JHTML::_('select.option', 'Verdana, Geneva, sans-serif', 'Verdana'),
								JHTML::_('select.option', 'Georgia, "Times New Roman", Times, serif', 'Georgia'),
								JHTML::_('select.option', 'Arial, Helvetica, sans-serif', 'Arial'),
								JHTML::_('select.option', 'Impact, Arial, Helvetica, sans-serif', 'Impact'),
								JHTML::_('select.option', 'Tahoma, Geneva, sans-serif', 'Tahoma'),
								JHTML::_('select.option', '"Trebuchet MS", Arial, Helvetica, sans-serif', 'Trebuchet MS'),
								JHTML::_('select.option', '"Arial Black", Gadget, sans-serif', 'Arial Black'),
								JHTML::_('select.option', 'Times, "Times New Roman", serif', 'Times'),
								JHTML::_('select.option', '"Palatino Linotype", "Book Antiqua", Palatino, serif', 'Palatino Linotype'),
								JHTML::_('select.option', '"Lucida Sans Unicode", "Lucida Grande", sans-serif', 'Lucida Sans Unicode'),
								JHTML::_('select.option', '"MS Serif", "New York", serif', 'MS Serif'),
								JHTML::_('select.option', '"Comic Sans MS", cursive', 'Comic Sans MS'),
								JHTML::_('select.option', '"Courier New", Courier, monospace', 'Courier New'),
								JHTML::_('select.option', '"Lucida Console", Monaco, monospace', 'Lucida Console')
							);
		
		$options_google = array();
		
		$google_fonts_options = array(
		    array('none','- - - None - - -'),
		    array('own', JText::_('TPL_GK_LANG_OWN_GOOGLE_FONT')),
            array('Abel', 'Abel'), 
			array('Aclonica', 'Aclonica'),
            array('Actor', 'Actor'),
            array('Alice', 'Alice'),
            array('Allan:bold', 'Allan'),            
			array('Allerta', 'Allerta'),
			array('Allerta+Stencil', 'Allerta Stencil'),
			array('Amaranth', 'Amaranth'),
            array('Andika', 'Andika'),
            array('Annie+Use+Your+Telescope', 'Annie Use Your Telescope'),
			array('Anonymous+Pro', 'Anonymous Pro'),
			array('Anonymous+Pro:italic', 'Anonymous Pro (italic)'),
			array('Anonymous+Pro:bold', 'Anonymous Pro (bold)'),
			array('Anonymous+Pro:bolditalic', 'Anonymous Pro (bold italic)'),
			array('Anton', 'Anton'),
			array('Architects+Daughter', 'Architects Daughter'),
			array('Arimo', 'Arimo'),
			array('Arimo:italic', 'Arimo (italic)'),
			array('Arimo:bold', 'Arimo (bold)'),
			array('Arimo:bolditalic', 'Arimo (bold italic)'),
            array('Artifika', 'Artifika'),
			array('Arvo', 'Arvo'),
			array('Arvo:italic', 'Arvo (italic)'),
			array('Arvo:bold', 'Arvo (bold)'),
			array('Arvo:bolditalic', 'Arvo (bold italic)'),
            array('Asset', 'Asset'),
			array('Astloch', 'Astloch'),
			array('Astloch:bold', 'Astloch (bold)'),
			array('Aubrey', 'Aubrey'),
            array('Bangers', 'Bangers'),
            array('Bentham', 'Bentham'), 
			array('Bevan', 'Bevan'),
            array('Bigshot+One', 'Bigshot One'),
            array('Black+Ops+One', 'Black Ops One'),
            array('Bowlby+One', 'Bowlby One'),
            array('Bowlby+One+SC', 'Bowlby One SC'),
            array('Brawler', 'Brawler'),
			array('Buda:light', 'Buda'), // 79
			array('Cabin:400', 'Cabin (400)'), // 80
			array('Cabin:500', 'Cabin (500)'), // 80
			array('Cabin:600', 'Cabin (600)'), // 80
			array('Cabin:bold', 'Cabin (bold)'), // 80
			array('Cabin+Sketch:bold', 'Cabin Sketch (bold)'),
			array('Calligraffitti', 'Calligraffitti'),
			array('Candal', 'Candal'),
			array('Cantarell','Cantarell'),
			array('Cantarell:italic','Cantarell (italic)'),
			array('Cantarell:bold','Cantarell (bold)'),
			array('Cantarell:bolditalic','Cantarell (bold italic)'),
			array('Cardo','Cardo'),
            array('Carme', 'Carme'),
            array('Carter+One', 'Carter One'),
            array('Caudex', 'Caudex'),
            array('Caudex:bold', 'Caudex (bold)'),
            array('Caudex:italic', 'Caudex (italic)'),
            array('Caudex:bolditalic', 'Caudex (bold italic)'),
            array('Cedarville+Cursive', 'Cedarville Cursive'),
			array('Cherry+Cream+Soda', 'Cherry Cream Soda'),
			array('Chewy', 'Chewy'),
			array('Coda+Caption:800', 'Coda Caption (800)'),
			array('Coda:800','Coda'),
            array('Comfortaa:300', 'Comforta (300)'),
			array('Comfortaa:400', 'Comforta (400)'),
            array('Comfortaa:700', 'Comforta (700)'),
            array('Coming+Soon', 'Coming Soon'),
			array('Copse','Copse'),
			array('Corben:bold', 'Corben'), // 81
			array('Cousine','Cousine'),
			array('Cousine:italic','Cousine (italic)'),
			array('Cousine:bold','Cousine (bold)'),
			array('Cousine:bolditalic','Cousine (bold italic)'),
            array('Coustard', 'Coustard'),
			array('Covered+By+Your+Grace','Covered By Your Grace'),
			array('Crafty+Girls', 'Crafty Girls'),
			array('Crimson+Text','Crimision Text'),
			array('Crushed', 'Crushed'),
			array('Cuprum','Cuprum'),
            array('Damion', 'Damion'),
			array('Dancing+Script', 'Dancing Script'),
            array('Dawning+of+a+New+Day', 'Dawning of a New Day'),
            array('Delius', 'Delius'),
            array('Delius+Swash+Caps', 'Delius+Swash+Caps'),
            array('Didact+Gothic', 'Didact Gothic'),
			array('Droid+Sans','Droid Sans'),
			array('Droid+Sans:bold','Droid Sans (bold)'),
			array('Droid+Sans+Mono','Droid Sans Mono'),
			array('Droid+Serif','Droid Serif'),
			array('Droid+Serif:italic','Droid Serif (italic)'),
			array('Droid+Serif:bold','Droid Serif (bold)'),
			array('Droid+Serif:bolditalic','Droid Serif (bold italic)'),
            array('EB+Garamond', 'EB Garamond'),
			array('Expletus+Sans:400', 'Expletus Sans (400)'),
			array('Expletus+Sans:500', 'Expletus Sans (500)'),
			array('Expletus+Sans:600', 'Expletus Sans (600)'),
			array('Expletus+Sans:700', 'Expletus Sans (700)'),
            array('Federo', 'Federo'),
			array('Fontdiner+Swanky', 'Fontdiner Swanky'),
            array('Forum', 'Forum'),
            array('Francois+One', 'Francois One'),
            array('Gentium+Basic', 'Gentium Basic'),
            array('Gentium+Basic:italic', 'Gentium Basic (italic)'),
            array('Gentium+Basic:bold', 'Gentium Basic (bold)'),
            array('Gentium+Basic:bolditalic', 'Gentium Basic (bold  italic)'),
			array('Geo', 'Geo'),
            array('Geostart', 'Geostar'),
            array('Geostar+Fill', 'Geostar Fill'),
            array('Give+Your+Glory', 'Give You Glory'),
            array('Gloria+Hallelujah', 'Gloria Hallelujah'),
            array('Goblin+One', 'Goblin One'),
			array('Goudy+Bookletter+1911', 'Goudy Bookletter 1911'),
            array('Gravitas+One', 'Gravitas One'),
			array('Gruppo', 'Gruppo'), // 82
            array('Hammersmith+One', 'Hammersmith One'),
            array('Holtwood+One+SC', 'Holtwood One SC'),
			array('Homemade+Apple', 'Homemade Apple'),
			array('IM+Fell+DW+Pica','IM Fell DW Pica'),
			array('IM+Fell+DW+Pica:italic','IM Fell DW Pica (italic)'),
			array('IM+Fell+DW+Pica+SC','IM Fell DW Pica SC'),
			array('IM+Fell+Double+Pica','IM Fell Double Pica'),
			array('IM+Fell+Double+Pica:italic','IM Fell Double Pica (italic)'),
			array('IM+Fell+Double+Pica+SC','IM Fell Double Pica SC'),
			array('IM+Fell+English','IM Fell English'),
			array('IM+Fell+English:italic','IM Fell English (italic)'),
			array('IM+Fell+English+SC','IM Fell English SC'),
			array('IM+Fell+French+Canon','IM Fell French Canon'),
			array('IM+Fell+French+Canon:italic','IM Fell French Canon (italic)'),
			array('IM+Fell+French+Canon+SC','IM Fell French Canon SC'), 
			array('IM+Fell+Great+Primer','IM Fell Great Primer'),
			array('IM+Fell+Great+Primer:italic','IM Fell Great Primer (italic)'),
			array('IM+Fell+Great+Primer+SC','IM Fell Great Primer SC'), 
			array('Inconsolata','Inconsolata'),
			array('Indie+Flower', 'Indie Flower'),
			array('Irish+Grover', 'Irish Grover'),
            array('Istok+Web', 'Istok Web'),
            array('Istok+Web:bold', 'Istok Web (bold)'),
            array('Istok+Web:italic', 'Istok Web (italic)'),
            array('Istok+Web:bolditalic', 'Istok Web (bold italic)'),
			array('Josefin+Sans:100','Josefin Sans (100)'), 
			array('Josefin+Sans:100italic','Josefin Sans (100 italic)'), 
			array('Josefin+Sans:300','Josefin Sans (300)'), 
			array('Josefin+Sans:300italic','Josefin Sans (300 italic)'), 
			array('Josefin+Sans:400','Josefin Sans (400)'), 
			array('Josefin+Sans:400italic','Josefin Sans (400 italic)'), 
			array('Josefin+Sans:600','Josefin Sans (600)'), 
			array('Josefin+Sans:600italic','Josefin Sans (600 italic)'), 
			array('Josefin+Sans:700','Josefin Sans (700)'), 
			array('Josefin+Sans:700italic','Josefin Sans (700 italic)'), 
			array('Josefin+Slab:100','Josefin Slab (100)'), 
			array('Josefin+Slab:100italic','Josefin Slab (100 italic)'), 
			array('Josefin+Slab:300','Josefin Slab (300)'), 
			array('Josefin+Slab:300italic','Josefin Slab (300 italic)'), 
			array('Josefin+Slab:400','Josefin Slab (400)'), 
			array('Josefin+Slab:400italic','Josefin Slab (400 italic)'), 
			array('Josefin+Slab:600','Josefin Slab (600)'), 
			array('Josefin+Slab:600italic','Josefin Slab (600 italic)'), 
			array('Josefin+Slab:700','Josefin Slab (700)'), 
			array('Josefin+Slab:700italic','Josefin Slab (700 italic)'), 
            array('Jura:300', 'Jura (300)'),
            array('Jura:400', 'Jura (400)'),
            array('Jura:500', 'Jura (500)'),
            array('Jura:600', 'Jura (600)'),
			array('Just+Another+Hand', 'Just Another Hand'), // 83
			array('Just+Me+Again+Down+Here','Just Me Again Down Here'), 
            array('Kameron', 'Kameron'),
            array('Kameron:bold', 'Kameron (bold)'),
            array('Kelly+Slab', 'Kelly Slab'),
			array('Kenia','Kenia'), 
			array('Kranky', 'Kranky'),
			array('Kreon:300', 'Kreon (300)'),
			array('Kreon:400', 'Kreon (400)'),
			array('Kreon:700', 'Kreon (700)'),
			array('Kristi', 'Kristi'), // 84
            array('La+Belle+Aurore', 'La Belle Aurore'),
			array('Lato:100','Lato (100)'), 
			array('Lato:100italic','Lato (100 italic)'), 
			array('Lato:300','Lato (300)'), 
			array('Lato:300','Lato (300 italic)'), 
			array('Lato:400','Lato (400)'), 
			array('Lato:400italic','Lato (400 italic)'), 
			array('Lato:700','Lato (700)'), 
			array('Lato:700italic','Lato (700 italic)'),
			array('Lato:900','Lato (900)'),
			array('Lato:900italic','Lato (900 italic)'), 
			array('League+Script', 'League Script'),
            array('Leckerli+One', 'Leckerli One'),
			array('Lekton:400', 'Lekton (400)'), // 85
			array('Lekton:italic', 'Lekton (italic)'), // 86
			array('Lekton:700', 'Lekton (700)'), // 87
            array('Limelight', 'Limelight'),
			array('Lobster','Lobster'),
            array('Lobster+Two', 'Lobster Two'),
            array('Lobster+Two:bold', 'Lobster Two (bold)'),
            array('Lobster+Two:italic', 'Lobster Two (italic)'),
            array('Lobster+Two:bolditalic', 'Lobster Two (bold italic)'),
            array('Lora', 'Lora'),
            array('Lora:bold', 'Lora (bold)'),
            array('Lora:italic', 'Lora (italic)'),
            array('Lora:bolditalic', 'Lora (bold italic)'),
            array('Love+Ya+Like+A+Sister', 'Love Ya Like A Sister'),
            array('Loved+by+the+King', 'Loved by the King'),
			array('Luckiest+Guy', 'Luckiest Guy'),
            array('Mako', 'Mako'),
            array('Marvel', 'Marvel'),
            array('Marvel:bold', 'Marvel (bold)'),
            array('Marvel:italic', 'Marvel (italic)'),
            array('Marvel:bolditalic', 'Marvel (bold italic)'),
            array('Maven+Pro:400', 'Maven Pro (400)'),
			array('Maven+Pro:500', 'Maven Pro (500)'),
            array('Maven+Pro:700', 'Maven Pro (700)'),
            array('Maven+Pro:900', 'Maven Pro (900)'),
            array('Meddon', 'Meddon'),
			array('MedievalSharp', 'MedievalSharp'),
            array('Megrim', 'Megrim'),
			array('Merriweather', 'Merriweather'), // 88
            array('Metrophobic', 'Metrophobic'),
            array('Miltonian', 'Miltonian'),
            array('Miltonian+Tattoo', 'Miltonian Tattoo'),
            array('Modern+Antiqua', 'Modern Antiqua'),
			array('Michroma', 'Michroma'),
            array('Molengo','Molengo'),
            array('Monofett', 'Monofett'),
			array('Mountains+of+Christmas','Mountains of Christmas'), 
            array('Muli', 'Muli'),
			array('Neucha','Neucha'),
			array('Neuton','Neuton'),
            array('Neuton:italic', 'Neuton (italic)'),
            array('News+Cycle', 'News Cycle'),
            array('Nixie+One', 'Nixie One'),
			array('Nobile','Nobile'),
			array('Nobile:italic','Nobile (italic)'),
			array('Nobile:bold','Nobile (bold)'),
			array('Nobile:bolditalic','Nobile (bolditalic)'),
            array('Nothing+You+Could+Do', 'Nothing You Could Do'),
            array('Nova+Cut', 'Nova Cut'),
            array('Nova+Flat', 'Nova Flat'),
            array('Nova+Mono', 'Nova Mono'),
            array('Nova+Oval', 'Nova Oval'),
            array('Nova+Round', 'Nova Round'),
            array('Nova+Script', 'Nova Script'),
            array('Nova+Slim', 'Nova Slim'),
            array('Nova+Square', 'Nova Square'),
            array('Nunito', 'Nunito'),
            array('Nunito:bold', 'Nunito (bold)'),
			array('OFL+Sorts+Mill+Goudy+TT','OFL Sorts Mill Goudy TT'),
			array('OFL+Sorts+Mill+Goudy+TT:italic','OFL Sorts Mill Goudy TT (italic)'),
			array('Old+Standard+TT','Old Standard TT'),
			array('Old+Standard+TT:italic','Old Standard TT (italic)'),
			array('Old+Standard+TT:bold','Old Standard TT (bold)'),
            array('Open+Sans:600', 'Open Sans (600)'),
            array('Open+Sans:700', 'Open Sans (700)'),
            array('Open+Sans:800', 'Open Sans (800)'),
            array('Open+Sans:italic', 'Open Sans (italic)'),
            array('Open+Sans:bolditalic', 'Open Sans (bold italic)'),
            array('Open+Sans+Condensed', 'Open Sans Condensed'),
            array('Open+Sans+Condensed:italic', 'Open Sans Condensed (italic)'),
			array('Orbitron:400', 'Orbitron (400)'), 
			array('Orbitron:500', 'Orbitron (500)'),
			array('Orbitron:700', 'Orbitron (700)'),
			array('Orbitron:900', 'Orbitron (900)'), 
            array('Oswald', 'Oswald'),
            array('Over+the+Rainbow', 'Over the Rainbow'),
            array('Ovo', 'Ovo'),
			array('PT+Sans','PT Sans'),
			array('PT+Sans:italic','PT Sans (italic)'),
			array('PT+Sans:bold','PT Sans (bold)'),
			array('PT+Sans:bolditalic','PT Sans (bold italic)'),
			array('PT+Sans+Caption','PT Sans Caption'),
			array('PT+Sans+Caption:bold','PT Sans Caption (bold)'),
			array('PT+Sans+Narrow','PT Sans Narrow'),
			array('PT+Sans+Narrow:bold','PT Sans Narrow (bold)'),
			array('PT+Serif', 'PT Serif'),
			array('PT+Serif:italic', 'PT Serif (italic)'),
			array('PT+Serif:bold', 'PT Serif (bold)'),
			array('PT+Serif:bolditalic', 'PT Serif (bold italic)'),
			array('PT+Serif+Caption', 'PT Serif Caption'),
			array('PT+Serif+Caption:italic', 'PT Serif Caption (italic)'),
			array('Pacifico', 'Pacifico'),
            array('Patrick+Hand', 'Patrick Hand'),
            array('Paytone+One', 'Paytone One'),
			array('Permanent+Marker', 'Permanent Marker'),
			array('Philosopher','Philosopher'),
            array('Play', 'Play'),
            array('Play:bold', 'Play (bold)'),
            array('Playfair+Display', 'Playfair Display'),
            array('Podkova', 'Podkova'),
            array('Pompiere', 'Pompiere'),
			array('Puritan', 'Puritan'), 
			array('Puritan:italic', 'Puritan (italic)'),
			array('Puritan:bold', 'Puritan (bold)'),
			array('Puritan:bolditalic', 'Puritan (bold italic)'), 
			array('Quattrocento', 'Quattrocento'),
            array('Quattrocento+Sans', 'Quattrocento Sans'),
            array('Questrial', 'Questrial'),
			array('Radley', 'Radley'),
			array('Raleway:100', 'Raleway'), 
            array('Rationale', 'Rationale'),
            array('Redressed', 'Redressed'),
			array('Reenie+Beanie','Reenie Beanie'),
            array('Rochester', 'Rochester'),
			array('Rock+Salt', 'Rock Salt'),
            array('Rokkitt', 'Rokkitt'),
            array('Rokkitt:bold', 'Rokkitt (bold)'),
            array('Rosario', 'Rosario'),
            array('Ruslan+Display', 'Ruslan Display'),
			array('Schoolbell', 'Schoolbell'),
            array('Shadows+Into+Light', 'Shadows Into Light'),
            array('Shanti', 'Shanti'),
            array('Sigmar+One', 'Sigmar One'),
            array('Six+Caps', 'Six Caps'),
			array('Slackey', 'Slackey'),
            array('Smokum', 'Smokum'),
            array('Smythe', 'Smythe'),
			array('Sniglet:800', 'Sniglet'), 
            array('Snippet', 'Snippet'),
            array('Special+Elite', 'Special Elite'),
            array('Stardos+Stencil', 'Stardos Stencil'),
            array('Stardos+Stencil:bold', 'Stardos Stencil (bold)'),
            array('Sue+Ellen+Francisco', 'Sue Ellen Francisco'),
			array('Sunshiney', 'Sunshiney'),
            array('Swanky+and+Moo+Moo', 'Swanky and Moo Moo'),
			array('Syncopate', 'Syncopate'), 
			array('Tangerine','Tangerine'),
			array('Tangerine:bold','Tangerine (bold)'),
            array('Tenor+Sans', 'Tenor Sans'),
            array('Terminal+Dosis+Light', 'Terminal Dosis Light'),
            array('The+Girl+Next+Door', 'The Girl Next Door'),
            array('Tienne:400', 'Tienne (400)'),
            array('Tienne:700', 'Tienne (700)'),
            array('Tienne:900', 'Tienne (900)'),
			array('Tinos', 'Tinos'), 
			array('Tinos:italic', 'Tinos (italic)'),
			array('Tinos:bold', 'Tinos (bold)'),
			array('Tinos:bolditalic', 'Tinos (bold italic)'),  
            array('Tulpen+One', 'Tulpen One'), 
			array('Ubuntu', 'Ubuntu'), // 89
			array('Ubuntu:italic', 'Ubuntu (italic)'), // 90
			array('Ubuntu:bold', 'Ubuntu (bold)'), // 91
			array('Ubuntu:bolditalic', 'Ubuntu (bold italic)'), // 92
            array('Ultra', 'Ultra'),
			array('UnifrakturCook:bold', 'UnifrakturCook'), 
			array('UnifrakturMaguntia', 'UnifrakturMaguntia'),
			array('Unkempt', 'Unkempt'), 
            array('Unna', 'Unna'),
			array('VT323', 'VT323'),
            array('Varela', 'Varela'),
            array('Varela+Round', 'Varela Round'),
			array('Vibur', 'Vibur'), 
			array('Vollkorn','Vollkorn'),
			array('Vollkorn:italic','Vollkorn (italic)'), 
			array('Vollkorn:bold','Vollkorn (bold)'),
			array('Vollkorn:bolditalic','Vollkorn (bold italic)'), 
            array('Waiting+for+the+Sunris', 'Waiting for the Sunrise'),
            array('Wallpoet', 'Wallpoet'),
			array('Walter+Turncoat', 'Walter Turncoat'),
            array('Wire+One', 'Wire One'),
			array('Yanone+Kaffeesatz:extralight','Yanone Kaffeesatz'),
			array('Yanone+Kaffeesatz:extralight','Yanone Kaffeesatz (extralight)'),
			array('Yanone+Kaffeesatz:light','Yanone Kaffeesatz (light)'),
			array('Yanone+Kaffeesatz:bold','Yanone Kaffeesatz (bold)'),
            array('Yanone+Kaffeesatz:200', 'Yanone Kaffeesatz (200)'),
            array('Yanone+Kaffeesatz:300', 'Yanone Kaffeesatz (300)'),
            array('Yanone+Kaffeesatz:400', 'Yanone Kaffeesatz (400)'),
            array('Yanone+Kaffeesatz:700', 'Yanone Kaffeesatz (700)'),
            array('Yellowtail', 'Yellowtail'),
            array('Yeseva+One', 'Yeseva One'),
            array('Zeyada', 'Zeyada')
		);
		
		foreach ($google_fonts_options as $option) {
		   $options_google[] = JHTML::_('select.option', $option[0], JText::_($option[1]));
		}
		
		$options_squirrel = array();
		// Get the path in which to search for file options.
		$path = (string) $this->element['directory'];
		if (!is_dir($path)) {
			$path = JPATH_ROOT.'/'.$path;
		}
		// Get a list of folders in the search path with the given filter.
		$folders = JFolder::folders($path, null);
		// Build the options list from the list of folders.
		if (is_array($folders)) {
			foreach($folders as $folder) {
				$options_squirrel[] = JHtml::_('select.option', $folder, $folder);
			}
		}
		
		$html = '<div class="gkfont_form">';
		$html .= JHtml::_('select.genericlist', $options_type, 'name', '', 'value', 'text', 'default', $this->name . '_type');
		$html .= JHtml::_('select.genericlist', $options_normal, 'name', '', 'value', 'text', 'default', $this->name . '_normal');
		$html .= JHtml::_('select.genericlist', $options_google, 'name', '', 'value', 'text', 'default', $this->name . '_google');
		
		if(count($options_squirrel)) {
			$html .= JHtml::_('select.genericlist', $options_squirrel, 'name', '', 'value', 'text', 'default', $this->name . '_squirrel');
		} else {
			$html .= JHtml::_('select.genericlist', array(JHTML::_('select.option', 'Arial, Helvetica, sans-serif', '- - - ' . JText::_('TPL_GK_LANG_NO_SQUIRREL') . ' - - -')), 'name', '', 'value', 'text', 'default', $this->name . '_squirrel');
		}
		
		$html .= '<input type="text" name="'.$this->name.'" id="'.$this->id.'" class="gkFormHide" value="' . htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') . '"/>';
		$html .= '<span class="label" id="'.str_replace(array('[', ']'), '', $this->name).'_google_own_link_label"><strong>'.JText::_('TPL_GK_LANG_OWN_GOOGLE_FONT_LINK').'</strong><input type="text" id="'.str_replace(array('[', ']'), '', $this->name).'_google_own_link" size="40" /></span>';
		$html .= '<span class="label" id="'.str_replace(array('[', ']'), '', $this->name).'_google_own_font_label"><strong>'.JText::_('TPL_GK_LANG_OWN_GOOGLE_FONT_FAMILY').'</strong><input type="text" id="'.str_replace(array('[', ']'), '', $this->name).'_google_own_font" size="40" /></span>';
		$html .= '</div>';
		
		return $html;
	}
}